package com.meeting.project.business.record.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;

import com.meeting.framework.aspectj.lang.annotation.Excel;
import com.meeting.framework.web.domain.BaseEntity;

/**
 * 人员签到信息对象 busi_sign_in_record
 *
 * @author llmaoa
 * @date 2025-08-05
 */
public class SignInRecord extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 签到ID
     */
    private Long id;

    /**
     * 会议ID
     */
    private Long meetingId;

    /**
     * 科室
     */
    @Excel(name = "科室")
    private String department;

    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String realname;

    /**
     * 手机号
     */
    @Excel(name = "手机号")
    private String phone;

    /**
     * 职务
     */
    private String post;

    /**
     * 是否参加
     */
    @Excel(name = "是否参加", readConverterExp = "0=否,1=是")
    private Integer attendFlag;

    @Excel(name = "请假类型", readConverterExp = "0=门诊,1=手术,2=会议,3=因公学习,4=外事,5=医联体,6=年休,7=病假,8=其他")
    private Integer leaveType;

    /**
     * 请假原因
     */
    @Excel(name = "请假原因", wrapText = true, width = 30)
    private String leaveReason;

    /**
     * 附件
     */
    private String attachment;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setMeetingId(Long meetingId) {
        this.meetingId = meetingId;
    }

    public Long getMeetingId() {
        return meetingId;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

    public void setRealname(String realname) {
        this.realname = realname;
    }

    public String getRealname() {
        return realname;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPhone() {
        return phone;
    }

    public void setPost(String post) {
        this.post = post;
    }

    public String getPost() {
        return post;
    }

    public void setAttendFlag(Integer attendFlag) {
        this.attendFlag = attendFlag;
    }

    public Integer getAttendFlag() {
        return attendFlag;
    }

    public Integer getLeaveType() {
        return leaveType;
    }

    public void setLeaveType(Integer leaveType) {
        this.leaveType = leaveType;
    }

    public void setLeaveReason(String leaveReason) {
        this.leaveReason = leaveReason;
    }

    public String getLeaveReason() {
        return leaveReason;
    }

    public String getAttachment() {
        return attachment;
    }

    public void setAttachment(String attachment) {
        this.attachment = attachment;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this)
                .append("id", id)
                .append("meetingId", meetingId)
                .append("department", department)
                .append("realname", realname)
                .append("phone", phone)
                .append("post", post)
                .append("attendFlag", attendFlag)
                .append("leaveType", leaveType)
                .append("leaveReason", leaveReason)
                .append("attachment", attachment)
                .toString();
    }
}
